[INFO] cloning repository https://github.com/tetsuo-cpp/charm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tetsuo-cpp/charm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftetsuo-cpp%2Fcharm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftetsuo-cpp%2Fcharm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7f857bb35c53721e3c210d399d74a853eedb0e30
[INFO] testing tetsuo-cpp/charm against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftetsuo-cpp%2Fcharm" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tetsuo-cpp/charm
[INFO] finished tweaking git repo https://github.com/tetsuo-cpp/charm
[INFO] tweaked toml for git repo https://github.com/tetsuo-cpp/charm written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tetsuo-cpp/charm on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tetsuo-cpp/charm already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bef6835efeb62b8b1e69d203e8ea9e4a48c50d826ed38d713f07532418af024a
[INFO] running `Command { std: "docker" "start" "-a" "bef6835efeb62b8b1e69d203e8ea9e4a48c50d826ed38d713f07532418af024a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bef6835efeb62b8b1e69d203e8ea9e4a48c50d826ed38d713f07532418af024a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bef6835efeb62b8b1e69d203e8ea9e4a48c50d826ed38d713f07532418af024a", kill_on_drop: false }`
[INFO] [stdout] bef6835efeb62b8b1e69d203e8ea9e4a48c50d826ed38d713f07532418af024a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ce841f8e3c438c9249e46132e86f95a5c3ab1f0ff44805e8a266c8daaff528fd
[INFO] running `Command { std: "docker" "start" "-a" "ce841f8e3c438c9249e46132e86f95a5c3ab1f0ff44805e8a266c8daaff528fd", kill_on_drop: false }`
[INFO] [stderr]    Compiling charm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/lib.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |     VarDecl(VarDeclNode<'a>),
[INFO] [stdout]     |     ------- ^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 417 -     VarDecl(VarDeclNode<'a>),
[INFO] [stdout] 417 +     VarDecl(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `If` and `BinOp` are never constructed
[INFO] [stdout]    --> src/lib.rs:416:5
[INFO] [stdout]     |
[INFO] [stdout] 415 | enum Ast<'a> {
[INFO] [stdout]     |      --- variants in this enum
[INFO] [stdout] 416 |     If(IfNode<'a>),
[INFO] [stdout]     |     ^^
[INFO] [stdout] 417 |     VarDecl(VarDeclNode<'a>),
[INFO] [stdout] 418 |     BinOp(BinOpNode<'a>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `condition`, `then_block`, and `else_block` are never read
[INFO] [stdout]    --> src/lib.rs:422:5
[INFO] [stdout]     |
[INFO] [stdout] 421 | struct IfNode<'a> {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] 422 |     condition: Box<Ast<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 423 |     then_block: Vec<Ast<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 424 |     else_block: Vec<Ast<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `rhs` are never read
[INFO] [stdout]    --> src/lib.rs:428:5
[INFO] [stdout]     |
[INFO] [stdout] 427 | struct VarDeclNode<'a> {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 428 |     name: &'a [u8],
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 429 |     rhs: Box<Option<Ast<'a>>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `op`, `lhs`, and `rhs` are never read
[INFO] [stdout]    --> src/lib.rs:433:5
[INFO] [stdout]     |
[INFO] [stdout] 432 | struct BinOpNode<'a> {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 433 |     op: Token<'a>,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 434 |     lhs: Box<Ast<'a>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 435 |     rhs: Box<Ast<'a>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse_expr`, `parse_addition`, and `parse_multiplication` are never used
[INFO] [stdout]    --> src/lib.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 456 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 488 |     fn parse_expr(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 492 |     fn parse_addition(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 510 |     fn parse_multiplication(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(file_name: &str) -> Config {
[INFO] [stdout]    |                           ^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(file_name: &str) -> Config<'_> {
[INFO] [stdout]    |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:47:47
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn new(kind: TokenKind, value: Option<&[u8]>) -> Token {
[INFO] [stdout]    |                                               ^^^^^      ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn new(kind: TokenKind, value: Option<&[u8]>) -> Token<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:212:24
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new(source: &str) -> Lexer {
[INFO] [stdout]     |                        ^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new(source: &str) -> Lexer<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.72s
[INFO] running `Command { std: "docker" "inspect" "ce841f8e3c438c9249e46132e86f95a5c3ab1f0ff44805e8a266c8daaff528fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce841f8e3c438c9249e46132e86f95a5c3ab1f0ff44805e8a266c8daaff528fd", kill_on_drop: false }`
[INFO] [stdout] ce841f8e3c438c9249e46132e86f95a5c3ab1f0ff44805e8a266c8daaff528fd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] de8d9cc69fef1b813797cd0d94fc1b7a90413480ed56bba40c2475412e230934
[INFO] running `Command { std: "docker" "start" "-a" "de8d9cc69fef1b813797cd0d94fc1b7a90413480ed56bba40c2475412e230934", kill_on_drop: false }`
[INFO] [stderr]    Compiling charm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/lib.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |     VarDecl(VarDeclNode<'a>),
[INFO] [stdout]     |     ------- ^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 417 -     VarDecl(VarDeclNode<'a>),
[INFO] [stdout] 417 +     VarDecl(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `If` and `BinOp` are never constructed
[INFO] [stdout]    --> src/lib.rs:416:5
[INFO] [stdout]     |
[INFO] [stdout] 415 | enum Ast<'a> {
[INFO] [stdout]     |      --- variants in this enum
[INFO] [stdout] 416 |     If(IfNode<'a>),
[INFO] [stdout]     |     ^^
[INFO] [stdout] 417 |     VarDecl(VarDeclNode<'a>),
[INFO] [stdout] 418 |     BinOp(BinOpNode<'a>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `condition`, `then_block`, and `else_block` are never read
[INFO] [stdout]    --> src/lib.rs:422:5
[INFO] [stdout]     |
[INFO] [stdout] 421 | struct IfNode<'a> {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] 422 |     condition: Box<Ast<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 423 |     then_block: Vec<Ast<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 424 |     else_block: Vec<Ast<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `rhs` are never read
[INFO] [stdout]    --> src/lib.rs:428:5
[INFO] [stdout]     |
[INFO] [stdout] 427 | struct VarDeclNode<'a> {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 428 |     name: &'a [u8],
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 429 |     rhs: Box<Option<Ast<'a>>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `op`, `lhs`, and `rhs` are never read
[INFO] [stdout]    --> src/lib.rs:433:5
[INFO] [stdout]     |
[INFO] [stdout] 432 | struct BinOpNode<'a> {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 433 |     op: Token<'a>,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 434 |     lhs: Box<Ast<'a>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 435 |     rhs: Box<Ast<'a>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse_expr`, `parse_addition`, and `parse_multiplication` are never used
[INFO] [stdout]    --> src/lib.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 456 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 488 |     fn parse_expr(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 492 |     fn parse_addition(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 510 |     fn parse_multiplication(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(file_name: &str) -> Config {
[INFO] [stdout]    |                           ^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(file_name: &str) -> Config<'_> {
[INFO] [stdout]    |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:47:47
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn new(kind: TokenKind, value: Option<&[u8]>) -> Token {
[INFO] [stdout]    |                                               ^^^^^      ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn new(kind: TokenKind, value: Option<&[u8]>) -> Token<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:212:24
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new(source: &str) -> Lexer {
[INFO] [stdout]     |                        ^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new(source: &str) -> Lexer<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut lexer = Lexer::new(source);
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/lib.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |     VarDecl(VarDeclNode<'a>),
[INFO] [stdout]     |     ------- ^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 417 -     VarDecl(VarDeclNode<'a>),
[INFO] [stdout] 417 +     VarDecl(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `If` and `BinOp` are never constructed
[INFO] [stdout]    --> src/lib.rs:416:5
[INFO] [stdout]     |
[INFO] [stdout] 415 | enum Ast<'a> {
[INFO] [stdout]     |      --- variants in this enum
[INFO] [stdout] 416 |     If(IfNode<'a>),
[INFO] [stdout]     |     ^^
[INFO] [stdout] 417 |     VarDecl(VarDeclNode<'a>),
[INFO] [stdout] 418 |     BinOp(BinOpNode<'a>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `condition`, `then_block`, and `else_block` are never read
[INFO] [stdout]    --> src/lib.rs:422:5
[INFO] [stdout]     |
[INFO] [stdout] 421 | struct IfNode<'a> {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] 422 |     condition: Box<Ast<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 423 |     then_block: Vec<Ast<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 424 |     else_block: Vec<Ast<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `rhs` are never read
[INFO] [stdout]    --> src/lib.rs:428:5
[INFO] [stdout]     |
[INFO] [stdout] 427 | struct VarDeclNode<'a> {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 428 |     name: &'a [u8],
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 429 |     rhs: Box<Option<Ast<'a>>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `op`, `lhs`, and `rhs` are never read
[INFO] [stdout]    --> src/lib.rs:433:5
[INFO] [stdout]     |
[INFO] [stdout] 432 | struct BinOpNode<'a> {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 433 |     op: Token<'a>,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 434 |     lhs: Box<Ast<'a>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 435 |     rhs: Box<Ast<'a>>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parse_expr`, `parse_addition`, and `parse_multiplication` are never used
[INFO] [stdout]    --> src/lib.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 456 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 488 |     fn parse_expr(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 492 |     fn parse_addition(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 510 |     fn parse_multiplication(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]    --> src/lib.rs:400:8
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn parse<'a>(source: &'a str) -> Result<Vec<Box<Ast>>, Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(file_name: &str) -> Config {
[INFO] [stdout]    |                           ^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(file_name: &str) -> Config<'_> {
[INFO] [stdout]    |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:47:47
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn new(kind: TokenKind, value: Option<&[u8]>) -> Token {
[INFO] [stdout]    |                                               ^^^^^      ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn new(kind: TokenKind, value: Option<&[u8]>) -> Token<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:212:24
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new(source: &str) -> Lexer {
[INFO] [stdout]     |                        ^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new(source: &str) -> Lexer<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:335:47
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn lex<'a>(source: &'a str) -> Result<Vec<Token>, Box<dyn Error>> {
[INFO] [stdout]     |                         --                    ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn lex<'a>(source: &'a str) -> Result<Vec<Token<'a>>, Box<dyn Error>> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:400:53
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn parse<'a>(source: &'a str) -> Result<Vec<Box<Ast>>, Box<dyn Error>> {
[INFO] [stdout]     |                           --                        ^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn parse<'a>(source: &'a str) -> Result<Vec<Box<Ast<'a>>>, Box<dyn Error>> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s
[INFO] running `Command { std: "docker" "inspect" "de8d9cc69fef1b813797cd0d94fc1b7a90413480ed56bba40c2475412e230934", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de8d9cc69fef1b813797cd0d94fc1b7a90413480ed56bba40c2475412e230934", kill_on_drop: false }`
[INFO] [stdout] de8d9cc69fef1b813797cd0d94fc1b7a90413480ed56bba40c2475412e230934
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 45e7957f5b397c8169bba1422d8e8288290d6e459b62474966db42d9e548aba2
[INFO] running `Command { std: "docker" "start" "-a" "45e7957f5b397c8169bba1422d8e8288290d6e459b62474966db42d9e548aba2", kill_on_drop: false }`
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/lib.rs:417:13
[INFO] [stderr]     |
[INFO] [stderr] 417 |     VarDecl(VarDeclNode<'a>),
[INFO] [stderr]     |     ------- ^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 417 -     VarDecl(VarDeclNode<'a>),
[INFO] [stderr] 417 +     VarDecl(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variants `If` and `BinOp` are never constructed
[INFO] [stderr]    --> src/lib.rs:416:5
[INFO] [stderr]     |
[INFO] [stderr] 415 | enum Ast<'a> {
[INFO] [stderr]     |      --- variants in this enum
[INFO] [stderr] 416 |     If(IfNode<'a>),
[INFO] [stderr]     |     ^^
[INFO] [stderr] 417 |     VarDecl(VarDeclNode<'a>),
[INFO] [stderr] 418 |     BinOp(BinOpNode<'a>),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `condition`, `then_block`, and `else_block` are never read
[INFO] [stderr]    --> src/lib.rs:422:5
[INFO] [stderr]     |
[INFO] [stderr] 421 | struct IfNode<'a> {
[INFO] [stderr]     |        ------ fields in this struct
[INFO] [stderr] 422 |     condition: Box<Ast<'a>>,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 423 |     then_block: Vec<Ast<'a>>,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 424 |     else_block: Vec<Ast<'a>>,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name` and `rhs` are never read
[INFO] [stderr]    --> src/lib.rs:428:5
[INFO] [stderr]     |
[INFO] [stderr] 427 | struct VarDeclNode<'a> {
[INFO] [stderr]     |        ----------- fields in this struct
[INFO] [stderr] 428 |     name: &'a [u8],
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 429 |     rhs: Box<Option<Ast<'a>>>,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `op`, `lhs`, and `rhs` are never read
[INFO] [stderr]    --> src/lib.rs:433:5
[INFO] [stderr]     |
[INFO] [stderr] 432 | struct BinOpNode<'a> {
[INFO] [stderr]     |        --------- fields in this struct
[INFO] [stderr] 433 |     op: Token<'a>,
[INFO] [stderr]     |     ^^
[INFO] [stderr] 434 |     lhs: Box<Ast<'a>>,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 435 |     rhs: Box<Ast<'a>>,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `parse_expr`, `parse_addition`, and `parse_multiplication` are never used
[INFO] [stderr]    --> src/lib.rs:488:8
[INFO] [stderr]     |
[INFO] [stderr] 456 | impl<'a> Parser<'a> {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 488 |     fn parse_expr(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 492 |     fn parse_addition(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 510 |     fn parse_multiplication(&mut self) -> Result<Box<Ast<'a>>, Box<dyn Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/lib.rs:10:27
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn new(file_name: &str) -> Config {
[INFO] [stderr]    |                           ^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn new(file_name: &str) -> Config<'_> {
[INFO] [stderr]    |                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/lib.rs:47:47
[INFO] [stderr]    |
[INFO] [stderr] 47 |     pub fn new(kind: TokenKind, value: Option<&[u8]>) -> Token {
[INFO] [stderr]    |                                               ^^^^^      ^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                               |
[INFO] [stderr]    |                                               the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 47 |     pub fn new(kind: TokenKind, value: Option<&[u8]>) -> Token<'_> {
[INFO] [stderr]    |                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:212:24
[INFO] [stderr]     |
[INFO] [stderr] 212 |     pub fn new(source: &str) -> Lexer {
[INFO] [stderr]     |                        ^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 212 |     pub fn new(source: &str) -> Lexer<'_> {
[INFO] [stderr]     |                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `charm` (lib) generated 9 warnings (run `cargo fix --lib -p charm` to apply 3 suggestions)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:402:13
[INFO] [stderr]     |
[INFO] [stderr] 402 |         let mut lexer = Lexer::new(source);
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse` is never used
[INFO] [stderr]    --> src/lib.rs:400:8
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn parse<'a>(source: &'a str) -> Result<Vec<Box<Ast>>, Box<dyn Error>> {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:335:47
[INFO] [stderr]     |
[INFO] [stderr] 335 |     fn lex<'a>(source: &'a str) -> Result<Vec<Token>, Box<dyn Error>> {
[INFO] [stderr]     |                         --                    ^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 335 |     fn lex<'a>(source: &'a str) -> Result<Vec<Token<'a>>, Box<dyn Error>> {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:400:53
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn parse<'a>(source: &'a str) -> Result<Vec<Box<Ast>>, Box<dyn Error>> {
[INFO] [stderr]     |                           --                        ^^^ the same lifetime is hidden here
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn parse<'a>(source: &'a str) -> Result<Vec<Box<Ast<'a>>>, Box<dyn Error>> {
[INFO] [stderr]     |                                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `charm` (lib test) generated 13 warnings (9 duplicates) (run `cargo fix --lib -p charm --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/charm-63efecc7402997d8)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test tests::test_lex_number ... ok
[INFO] [stdout] test tests::test_lex_identifier ... ok
[INFO] [stdout] test tests::test_lex_kw ... ok
[INFO] [stdout] test tests::test_lex_sym ... ok
[INFO] [stdout] test tests::test_lex_identifiers_with_digits ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/charm-bcda8d5721b3f284)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests charm
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "45e7957f5b397c8169bba1422d8e8288290d6e459b62474966db42d9e548aba2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "45e7957f5b397c8169bba1422d8e8288290d6e459b62474966db42d9e548aba2", kill_on_drop: false }`
[INFO] [stdout] 45e7957f5b397c8169bba1422d8e8288290d6e459b62474966db42d9e548aba2
